<?php
/**
 * questionEntry.php
 * 
 * (C) 2009, tetsuya.odaka(EzoGP).
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/* 
 * アンケートの登録処理
 * 
 * author；	t.odaka
 * date ;	2005/10/07
 * 
 * modified; 	2005/11/13 	t.odaka mailをコメントアウト
 * 				2009/3/13 	t.odaka
 * 				2009/5/14	t.odaka	refactoring 
 * 				2009/5/25	t.odaka	不要なコメント行の削除
 * 				2009/5/26	t.odaka	Q3,Q4,Q5に禁則処理
 * 
*/
	
	// 前準備
	include("../Myznala/myHeader.inc.php");

	require_once("../Myznala/MyConverter.class.php");
	
	/*
	 * 変数定義
	 */
	// 遷移先のテンプレート名
	$myTemplate='../examples-dwoo/templates/questionThanks.tpl';
	
	/*
	 * サニタイズ
	 */

	// パラメータをサニタイズして配列に入れる。
	$cObj = new MyConverter();
	$reqParm = $cObj->getRequestParameters();
	
	/* 
	 * 入力エラーチェック
	*/
	$myErrArray = validate($reqParm); // 入力チェック関数（内部関数）呼び出し
	
	// エラーがあれば、入力画面にもどして終わり。
	if(count($myErrArray) > 0){
		// テンプレートに設定
		$myTplData = array(
				'myLoginUser'=>$myLoginUser,
				'myAppName'=>'examples-dwoo',
				'myPageTitle'=>'Sheet_Questionnaire',
		
				'myErrArray'=>$myErrArray
		);

		$myLog->err("Sheet_Questionnaire: error end");
		
		// 遷移先のテンプレート名
		$myTemplate='../examples-dwoo/templates/questionSheet.tpl';
		// 後処理
		include("../Myznala/myFooter.inc.php");
		return; 
	}
	
	// データを保存・操作するオブジェクト(DAO)を生成
	require_once('AnswerTextBean.class.php');
	$pObj=new AnswerTextBean();
	$pObj->setFileName('data/sample_data.txt');
	
	$pObj->setQ1($reqParm['Q1']);
	$pObj->setQ2($reqParm['Q2']);
	$pObj->setQ3($cObj->convertToRegalChar($reqParm['Q3'])); // 禁則文字の処理をかます
	$pObj->setQ4($cObj->convertToRegalChar($reqParm['Q4'])); // 禁則文字の処理をかます
	$pObj->setQ5($cObj->convertToRegalChar($reqParm['Q5'])); // 禁則文字の処理をかます


	/*
	 * データを登録します
	 */
	// ファイルポインタとロックを取得する。'r'でロックを獲得すること。
	$fp = $pObj->fileLockOpen("r+",1000000);
	
	$pObj->insert($fp);

	// ファイルポインタとロックを解放する。
	$pObj->fileLockClose($fp);
	
	// テンプレートに設定
	$myTplData = array(	
				'myLoginUser'=>$myLoginUser,
				'myAppName'=>'examples-dwoo',
				'myPageTitle'=>'Thanks_Questionnaire',
	);

	// 後処理
	include("../Myznala/myFooter.inc.php");
		
	return;
	
	/*  
	 * 入力チェックを行うための内部関数
	*/
	function validate($reqParm){
		// ------ お決まり --------
		require_once('../Myznala/ErrorBean.class.php');
		$myErrArray=array();
		// ------ お決まり --------
		
		if($reqParm['Q1'] == null){
			$errorObj=new ErrorBean();
			$errorObj->setField("Q1");
			$errorObj->setMessage("いずれかにチェックをおねがいします。");
			$myErrArray[0]=$errorObj;
		}
		
		if($reqParm['Q2']== null){
			$errorObj=new ErrorBean();
			$errorObj->setField("Q2");
			$errorObj->setMessage("いずれかにチェックをおねがいします。");
			$myErrArray[1]=$errorObj;
		}
		return $myErrArray;
	}
?>